The use of vector graphic techniques to define fonts and other graphics has made it possible to scale fonts and other graphics over a range of sizes while maintaining the shape and clarity of the original font or other graphic. Previously, bitmaps were used to define fonts, and for each character or “glyph” a separate bitmap had to be defined for each character size, e.g., for each “point” size, in the case of a font. A bitmap image uses a grid of individual pixels where each pixel can be a different color or shade. Bitmap images require higher resolutions and anti-aliasing for a smooth appearance. Vector graphics use mathematical relationships between points and the paths connecting them to describe an image. In the case of a vector graphic font, the outline of a character is described mathematically. Vector-based graphics appear smooth at any size or resolution.
While vector graphics can be scaled to any desired size while maintaining the original shape and smoothness, in some cases it may be necessary or desirable to change an aspect of the appearance of a glyph at different sizes, e.g., depending on the environment in which the glyph appears. For example, in the case of a font each character typically is a stylized version of a symbol the basic shape of at least some of which is capable of being rendered as a one dimensional line drawing. For glyph in which some portions are thicker than others, for example to give a desired visual effect, scaling the entire glyph uniformly may lead to a relatively thick portion dominating the page, or other adjacent glyphs or images, more than an artist who designed the font, or an author or artist creating a document or other object in which the glyph is used, would have desired.
In certain equation editors, for example, characters of a wide range of sizes may be used within a limited space to display a mathematical expression, such as an integral or summation of a first level fraction that includes additional fractions, superscripts such as exponents, and subscripts in the numerator and/or denominator. If there are lots of layers of fractions within fractions, for example, the scale of the initial integral sign may be quite large so that lower level operators, variables, etc. will be legible. If the font used to portray the equation included an integral glyph that was thicker in the middle than near the ends, for example, the thicker middle part might become quick thick in absolute terms at a very large scale, to the point where it appeared to be out of proportion to the other characters in the equation.
The problem described above can be appreciated by considering that a stylus or quill used to render stylized calligraphic characters manually typically has an inked tip in the shape of a rectangular wedge. Line thickness is varied—in a range between a minimum thickness determined by the width of the tip and a maximum thickness determined by the height (i.e., the length of the longer dimension) of the tip—by changing the orientation of the tip with respect to direction of motion along the page. A calligrapher might make larger scale characters and features more thick than smaller ones, but he/she could not make them any thicker than the maximum line thickness the quill is capable of making.
In the case of a vector graphic font or other vector graphic glyph, for example, each glyph is normally defined as a collection of closed, continuous curves that typically are filled with a solid color, e.g., according to an even-odd fill rule so that the holes are not filled. Any algorithm that adapts glyph shape must preserve the fact that they are closed, continuous curves, and must not fundamentally change the topology of the shape (e.g. the number ‘8’ must have two holes and the letter ‘e’ must have one hole before and after shape adjustment) or the topology of the boundary (e.g. the number of disjoint closed curves and the number of times each one crosses itself must not change).
One approach used in the past to mitigate this effect is to use a line drawing (e.g., a line of uniform thickness) in place of a stylized glyph created by the designer of the font, but that approach results in the visual effect and distinctiveness of the stylized glyph being lost and typically results in a symbol that seems out of place with the other glyphs in the equation or other text. Also, many graphics, including many font characters, are not stylized versions of simple line drawings, such that no line drawing is available to use as a substitute.
Another context in which this problem of lock-step scaling is present is a map or other information display in which items of a different nature are represented using text, symbols, or lines having different characteristics. For example, in the case of a map typically lines of varying thickness and/or color are used to distinguish between different classes of road, boundaries for different types of political subdivision, etc. A zoom feature might result in thicker lines being scaled up to an incongruous or visually unappealing thickness, such as by filling too much of a viewable area (e.g., a display screen or printed page) and/or obscuring other features. The same could occur with respect to larger text on a map or other documents. For example, a larger label, such as a country name, might upon changing the overall scale (e.g., by zooming in on an area) be scaled an presented in such a size that the thickness of the characters in the label obscure other, smaller labels intended to be visible adjacent to and/or through the larger label, such as the names of states, towns, bodies of water, or other features. Conversely, at times it may be desirable to have a glyph appear relatively thicker at very large scale, while retaining a stylized shape. An example of this is a poster or other document or display desired to be legible at a distance.
There is a need, therefore, for a better way to take advantage of the scalability of vector graphics without having undesirable visual effects and/or while providing desired visual effects not provided by uniform scaling, such as in situations in which graphics of widely different scale appear together in a limited display space.